package co.yixiang.yshop.module.product.controller.admin.storeproduct.vo;

import co.yixiang.yshop.module.product.controller.admin.producttag.vo.ProductTagViewRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Schema(description = "管理后台 - 商品 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class StoreProductRespVO extends StoreProductBaseVO {

    @Schema(description = "商品id", required = true, example = "1175")
    private Long id;

    @Schema(description = "添加时间")
    private LocalDateTime createTime;

    @Schema(description = "规格id", required = true)
    private Long skuId;

    @Schema(description = "规格唯一值")
    private String productAttrUnique;

    @Schema(description = "活动类型", required = true)
    private Integer campaignType;

    @Schema(description = "活动状态：0-未开始 1-进行中 2-已结束 3-预热", required = true)
    private Integer campaignState;

    @Schema(description = "活动价格", required = true)
    private BigDecimal campaignOriginalPrice;

    @Schema(description = "活动价格", required = true)
    private BigDecimal campaignPrice;

    @Schema(description = "折扣比例", required = true, example = "6397")
    private BigDecimal discount;

    @Schema(description = "活动库存剩余数量", required = true)
    private Integer campaignStock;

    @Schema(description = "活动总库存数量", required = true)
    private Integer campaignTotal;

    @Schema(description = "成团人数", required = true)
    private Integer person;

    /**
     * 是否分销:0-否，1-是
     */
    @Schema(description = "是否分销:0-否，1-是")
    private Integer isDistribution;
    //商品标签id
    private Long productTagId;

    @Schema(description = "商品标签")
    private ProductTagViewRespVO tag;

    @Schema(description = "商品保障id")
    private List<Long> assureIdList;

    @Schema(description = "商品分类id列表")
    private List<Long> cateIdList;

}
